Flexible real estate search

ABSTRACT

A facility for adjusting a display of a result of searching a property database is described. The facility, after displaying a list of properties satisfying a search filter, allows a user to specify property attributes the values of which are not currently shown for the properties, and redisplays the list of properties by additionally showing the values of those property attributes for the properties.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No. 14/078,076 filed on Nov. 12, 2013, which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The described technology is directed to the field of automated real estate information tools.

BACKGROUND

In today's housing market, property seekers often use online tools to find the properties of interest. For example, a property seeker might use such a tool to search for properties within a certain zip code having a certain minimum number of bedrooms.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level block diagram showing a typical environment in which a software, hardware, and/or firmware facility implementing the functionality described herein operates in some embodiments.

FIG. 2 is a table diagram showing example data stored in a property database.

FIG. 3 is a flow diagraph showing steps typically performed by the facility in order to adjust the display of a result of searching a property database.

FIG. 4 is an image diagram showing an example user interface for specifying search criteria for searching a property database.

FIG. 5 is an image diagram showing an example user interface for displaying a result of searching a property database based on specified search criteria.

FIG. 6 is an image diagram showing an example user interface for selecting a group of one or more property attributes to enhance the display of a result of searching a property database.

FIG. 7 is an image diagram showing an example user interface for displaying a result of searching a property database in response to a selection of a group of one or more property attributes for display.

DETAILED DESCRIPTION

The inventors have recognized that conventional approaches to presenting properties in the housing markets have significant disadvantages. These typically limit a property seeker in the amount and types of information received regarding the properties in the markets, and thus make it harder for the property seeker to make an intelligent decision on which property to buy or rent.

Accordingly, the inventors have conceived a software and/or hardware facility for allowing a user to control the amount and types of information to receive regarding the properties of interest. In some embodiments, the facility initially displays a result of searching a property database and subsequently allows a user to select additional information to display for each property in the search result. Specifically, the facility may initially display values of one or more property attributes in an initial display group for each property in the search result, allow a user to select one or more property attributes that are in a subsequent display group but not in the initial display group, and display values of the property attributes in both the initial and subsequent display groups for each property in the search result in response to the user selection.

In certain embodiments, the facility allows a user to select a search group of one or more property attributes to control the search and require that the one or more property attributes in the search group be excluded from the subsequent display group. The facility may also require that the search group be contained in the initial display group.

In some embodiments, the facility allows a user to sort the result of searching the property database on any of the attributes of which the values are displayed for each property in the search result.

By performing in some or all of the ways described above, the facility affords property seekers more flexibility in customizing the presentation of the properties of interest than conventional approaches.

FIG. 1 is a high-level block diagram showing a typical environment in which a software, hardware, and/or firmware facility implementing the functionality described herein operates in some embodiments. The environment 100 includes a server computer system 150. The server computer system 150 includes a memory 160. The memory 160 includes software 161 incorporating both the facility 162 and data 163 typically used by facility. The memory further includes a web server computer program 166 for providing web pages and/or other information, such as information produced by the facility, to other computers. While items 162 and 163 are stored in memory while being used, those skilled in the art will appreciate that these items, or portions of them, maybe be transferred between memory and a persistent storage device 173 for purposes of memory management, data integrity, and/or other purposes. The server computer system 150 further includes one or more central processing units (CPU) 171 for executing programs, such as programs 161, 162, and 166, and a computer-readable medium drive 172 for reading information or installing programs such as the facility from tangible computer-readable storage media, such as a floppy disk, a CD-ROM, a DVD, a USB flash drive, and/or other tangible computer-readable storage media. The computer system 150 also includes one or more of the following: a network connection device 174 for connecting to a network (for example, the Internet 140) to exchange programs and/or data via its networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like; an information input device 175; and an information output device 176.

The block diagram also illustrates several client computer systems, such as client computer systems 110, 120, and 130. Each of the client computer systems includes a web client computer program, such as web clients 111, 121 and 131, for receiving web pages and/or other information in response to requests to web server computer programs, such as web server computer program 166. The client computer systems are connected via the Internet 140 or a data transmission network of another type to the server computer system 150. Those skilled in the art will recognize that the client computer systems could be connected to the server computer system 150 by networks other than the Internet, however. In some embodiments, some or all of the client computer systems are used to capture input to the facility and display output from the facility. In some embodiments, these client computer systems can include other server computer systems, desktop computer systems, laptop computer systems, mobile phones, personal digital assistants, tablet computers, televisions, cameras, automobile computers, electronic media players, etc. In various embodiments, these client computer systems include various combinations of the components shown in server computer system 150.

While various embodiments are described in terms of the environment described above, those skilled in the art will appreciate that the facility may be implemented in a variety of other environments including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices connected in various ways.

The facility maintains a property database storing a variety of information for each property. The information may be represented as a list of property attributes, which may be further classified. FIG. 2 is a table diagram showing example information stored in the property database. The information is represented as a list of property attributes 202. Included in the table 200 are some common property attributes, such as the sales price, the maintenance fee, the size, the number of bedrooms and the number of bathrooms. Also included in the table 200 are additional property attributes which correspond to apartment features, such as washer/dryer and outdoor space, and building features, such as gym and parking. For example, for the first listed property, the following information is shown: a property ID of 1048, an active status, a sale price of $849,000, a rental price of $2,800, a maintenance fee of $2,176, a size of 1,100 square feet, two bedrooms, two bathrooms, having the washer/dryer, having no outdoor space, having no fireplace, having a gym, having a doorman, having parking space, allowing no pets, allowing no pied-a-terre, and allowing not subletting.

While FIG. 2 and each table diagram discussed below show a table whose contents and organization are designed to make them more comprehensible by a human reader, those skilled in the art will appreciate that actual data structures used by the facility to store this information may differ from the table shown, in that they, for example, may be organized in a different manner; may contain more or less information than shown; may be compressed and/or encrypted; may contain a much larger number of rows than shown, etc.

FIG. 3 is a flow diagraph showing steps typically performed by the facility in order to adjust a display of a result of searching the property database. In step 302, the facility selects a search group of one or more property attributes to form search criteria for searching the property database based on a search instruction received from a user. Specifically, the facility turns each property attribute in the search group into a search criterion by specifying one or more acceptable values, and combines the search criteria to form a filter. It will be appreciated that the facility does not place any specific limit on the number of property attributes to be included in the search group, and it allows multiple search criteria to be combined in various ways.

FIG. 4 is an image diagram showing an example user interface for specifying search criteria for searching the property database. With this user interface 400, a user may indicate the acceptable values for each property attribute. Specifically, the user may specify a range for the sale price in the fields 401 and 402, for the number of bedrooms in the fields 411 and 412, for the number of bathrooms in the fields 421 and 422, and for the size in the fields 431 and 432. The user may also designate yes or no for having a washer/dryer in either of the radio buttons 441 and 442, for having outdoor space in either of the radio buttons 451 and 452, and for having fireplaces in either of the radio buttons 461 and 462. In this example, the user specifies a sales price in the range between $600,000 and $1,750,000, a number of bedrooms of two or more, and a number of bathrooms of one-and-a-half or more. As a result, the facility takes these property attributes with specified values as search criteria. In some embodiments, the facility may enhance this user interface or offer another user interface for the user to specify how to combine the search criteria. For example, it may allow the user to search for properties with two bedrooms or two bathrooms, or for properties which have any number of bedrooms other than four.

In step 304, the facility displays a result of searching the property database using the search criteria. For each property in the property database that satisfies the search criteria, the facility shows the values of one or more property attributes in an initial display group for the property. It will be appreciated that the facility may determine whether a property satisfies the search criteria in various says, ranging from requiring an exact match of every search criterion to permitting one or more fuzzy matches and mismatches. In some embodiments, the facility represents the result as a table, where each row corresponds to a property that satisfies the search criteria and each column corresponds to a property attribute in the initial display group. In various embodiments, the facility shows information regarding only a predetermined number of properties that satisfy the search criteria, switch the rows and columns, or represent the result as a list. The facility may select the initial display group automatically or based on a user instruction. It will be appreciated that the facility does not place any specific limit on the number of property attributes to be included in the initial display group. In some embodiments, the initial display group contains the search group. In some embodiments, the facility sorts the result on one or more property attributes in the initial display group based on a user instruction and redisplays the result to the user.

FIG. 5 is an image diagram showing an example user interface for displaying a result of searching the property database based on certain search criteria. With this user interface 500, the facility shows the search criteria in 502 and the corresponding search result in 504. In this example, the search criteria comprise a price in the range between $600,000 and $1,750,000, a number of bedrooms of two or more, and a number of bathrooms of one-and-a-half or more. Therefore, the price, the number of bedrooms and the number of bathrooms constitute the search group of property attributes. The facility includes the photo, the address, the status, the price, the size, the layout (numbers of bedrooms and bathrooms) and the total charges (maintenance fee and any other fees) of a property in the initial display group of property attributes. Therefore, for each property included in the search result, the facility shows the values of those property attributes in columns 511-517. For the first listed property, the following property attribute values are shown: a photo showing the building entrance, “230 West End Avenue #8AG”, Active, $849,000, 1,100 square feet, 2 bedrooms and 2 bathrooms, and $2,176. As can be seen, all the property attributes in the search group belongs to the initial display group, but they do not have to be. Certain property attributes that are not in the search group are also included in the initial display group, but they also do not have to be. As will be discussed below, the facility also shows a button 520 to allow a user to enhance the display of the search result.

In step 306, the facility selects a subsequent display group of one or more property attributes based on a user instruction to enhance the display of the search result. Specifically, for each property that satisfies the search criteria, the facility shows the values of the property attributes in not only the initial display group but also the subsequent display group in response to the selection of the subsequent display group. It will be appreciated that the facility does not place any specific limit on the number of property attributes to be included in the subsequent display group. As the subsequent display group is used to augment the initial display group, any property attribute in the initial display group would not be in the subsequent display group. In some embodiments, any property attribute in the search group also would not be in the subsequent display group. It will be appreciated that the facility may also use the subsequent display group to simplify the display of the search result. Specifically, for each property that satisfies the search criteria, the facility would then show the values of the property attributes in the initial display group but not in the subsequent display group.

FIG. 6 is an image diagram showing an example user interface for selecting the subsequent display group of one or more property attributes to supplement the display of the search result. To invoke this user interface 600, a user clicks on the button 602 on the user interface for initially displaying the result of searching the property database. As a result, the facility displays this user interface 604 listing property attributes that are not in the initial display group. The user can then select property attributes from the list by turning on any of the checkmarks 611-626 in front of the listings of these property attributes. In this example, the user turns on the checkmark 613 for having outdoor space and the checkmark 620 for allow dogs. As a result, the facility includes the selected property attributes in the subsequent display group. The user can also deselect certain property attributes from the list by turning off the corresponding checkmarks.

In step 308, the facility displays the search result by also showing values of the property attributes in the subsequent display group for each property included in the search result. As one example, the facility may do so by refreshing the display in the original user interface. As another example, the facility may do so by presenting a separate display in a different user interface. In some embodiments, the facility sorts the result by one or more properties in the initial and subsequent display groups based on a user instruction and redisplays the result to the user. Given the enhanced display of the search result, a user may also realize how to further narrow the search. Therefore, in some embodiments, the facility allows the user to modify the search criteria by varying the acceptable values or changing the search group of one or more property attributes. The above-mentioned features of the facility provide a user with a customized presentation of the properties of interest and enable the user to make an intelligent decision on which property to buy or rent.

FIG. 7 is an image diagram showing an example user interface for displaying the result of searching the property database in response to the selection of the subsequent display group of one or more property attributes. With this user interface 700, in response to a user selection of the property attributes of having outdoor space and allowing dogs, the facility now shows, for each property included in the search result, the values of these two property attributes in columns 702 and 703 in addition to the values of the property attributes previously shown. The user may then access the drop-down list 704 to sort the result by one or more property attributes of which the values are shown for the properties included in the search result.

Those skilled in the art will appreciate that the steps shown in FIG. 3 may be altered in a variety of ways. For example, the order of the steps may be rearranged; some steps may be performed in parallel; shown steps may be omitted, or other steps may be included; a shown step may be divided into substeps, or multiple shown steps may be combined into a single step, etc.

It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein. 

I/We claim:
 1. A computing system comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising: causing, by the computing system, display a first version of a table showing first results of searching a real estate database, wherein each row of the first version of the table: corresponds to a real estate property, and displays one or more attributes of that real estate property; receiving a selection of one or more additional attributes which are not in the displayed one or more attributes in the first version of the table; and causing, by the computing system, display of a second version of the table showing the first results of searching the real estate database, wherein the second version of the table displays additional columns corresponding to the one or more additional attributes.
 2. The computing system of claim 1, wherein the first results of searching the real estate database are obtained by searching the real estate database using a search filter specifying set of real estate attributes, and wherein each column of the first version of the table corresponds to one of the real estate attributes of the set of real estate attributes.
 3. The computing system of claim 1, wherein displaying the second version of the table includes refreshing the displayed first version of the table to include the additional columns corresponding to the one or more additional attributes.
 4. The computing system of claim 1, wherein displaying the first version of the table is in a first user interface and wherein displaying the second version of the table is in a second user interface different from the first user interface.
 5. The computing system of claim 1, wherein the process further comprises: receiving user input selecting a column of the second version of the table; and sorting the second version of the table based on the selected column.
 6. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform a process comprising: causing, by the computing system, display of a first version of a table showing first results of searching a real estate database, wherein each row of the first version of the table: corresponds to a real estate property, and displays one or more attributes of that real estate property; receiving a selection of one or more additional attributes which are not in the displayed one or more attributes in the first version of the table; and causing, by the computing system, display of a second version of the table showing two or more of the first results of searching the real estate database, wherein the second version of the table displays additional columns corresponding to the one or more additional attributes.
 7. The non-transitory computer-readable storage medium of claim 6, wherein receiving the selection of one or more additional attributes includes receiving a deselection of at least one attribute, of the one or more attributes of the real estate properties displayed in the first version of the table, and wherein the display of the second version of the table excludes at least one column, included in first version of the table, corresponding to the deselected at least one attribute.
 8. The non-transitory computer-readable storage medium of claim 6, wherein receiving the selection of one or more additional attributes includes receiving a modification to search criteria used to obtain the first results of searching the real estate database; wherein the process further comprises searching the real estate database using the modified search criteria to obtain second search results, the second search results: including the two or more of the first results, including at least one result not in the first results, and excluding at least one result included in the first results; and wherein the second version of the table shows the second search results.
 9. The non-transitory computer-readable storage medium of claim 6, wherein the display of the first version of the table and the display of the second version of the table are performed in one or more webpages.
 10. The non-transitory computer-readable storage medium of claim 6, wherein the one or more attributes of that real estate property are displayed in columns of the first version of the table; and wherein columns of the first version of the table are a predetermined number of properties that satisfy search criteria used in the searching of the real estate database.
 11. The non-transitory computer-readable storage medium of claim 6, wherein the process further comprises: receiving an indication to swap one or more columns included in the second version of the table to be rows in a third version of the table; and in response to receiving the indication, causing display of the third version of the table, wherein the third version of the table swaps one or more columns from the second version of the table to be rows in the third version of the table.
 12. The non-transitory computer-readable storage medium of claim 6, wherein the process further comprises: receiving an indication to convert the second version of the table to a list; and in response to receiving the indication, causing display of a list showing the two or more of the first results.
 13. The non-transitory computer-readable storage medium of claim 6, wherein the first results of searching the real estate database are obtained by searching the real estate database using a search filter specifying set of real estate attributes; and wherein each column of the first version of the table corresponds to one of the real estate attributes of the set of real estate attributes.
 14. A method, in a computing system, for displaying electronic records of real estate properties identified as satisfying search criteria, the method comprising: displaying a first version of a table with results of searching a real estate property database; receiving a selection of additional property attributes; and in response to receiving the selection of additional property attributes, adjusting the display of the first version of the table to show a second version of the table, wherein the second version of the table shows the results from the first version of the table a) with two or more of the rows from the first version of the table and b) with additional columns corresponding to the selected additional property attributes.
 15. The method of claim 14 further comprising: receiving a deselection of at least one property attribute, and wherein the second version of the table excludes at least one column, included in first version of the table, corresponding to the deselected at least one attribute.
 16. The method of claim 14 further comprising: receiving a modification to search criteria used to obtain the results of searching the real estate property database; and searching the real estate property database using the modified search criteria to obtain second search results, the second search results including: records corresponding to the two or more of the rows from the first version of the table, and at least one record not in the results shown in the first version of the table; wherein the second version of the table shows the second search results.
 17. The method of claim 14, wherein the first version of the table shows one or more attributes of real estate properties in columns; and wherein the columns of the first version of the table are a predetermined number of real estate properties that satisfy search criteria used in the searching of the real estate property database.
 18. The method of claim 14, wherein the process further comprises: receiving an indication to swap one or more columns included in the second version of the table to be rows in a third version of the table; and in response to receiving the indication, causing display of the third version of the table, wherein the third version of the table swaps one or more columns from the second version of the table to be rows in the third version of the table.
 19. The method of claim 14 further comprising: receiving an indication to convert the second version of the table to a list; and in response to receiving the indication, causing displayed of a list showing results corresponding to the two or more of the rows from the first version of the table.
 20. The method of claim 14, wherein the first results of searching the real estate property database are obtained by searching the real estate property database using a search filter specifying set of real estate attributes, and wherein each column of the first version of the table corresponds to one of the real estate attributes of the set of real estate attributes. 